const express = require('express');

const app = express();

//设置静态资源的中间件
app.use(express.static(__dirname + '/public'))

//设置
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');

//创建路由规则
app.get('/', (req, res) => {
    res.send('练习首页');
});

//列表
app.get('/heros', (req, res) => {
    //获取查询字符串的参数
    let {q} = req.query;
    //获取数据
    let heros = require('./heros.json');
    //判断是否有关键字的参数
    if(q) {
        //如果传递了关键字, 筛选数组  云 
        heros = heros.filter(item => item.name.indexOf(q) !== -1);
    }
    //渲染模板文件
    res.render('heros', {heros, q});
});

//详情
app.get('/hero/:id.html', (req, res) => {
    //获取英雄的 id
    let {id} = req.params; //解构赋值
    //导入所有的英雄数据
    let heros = require('./heros.json');
    //根据 id 获取对应的英雄数据
    let hero = heros.find(item => item.id === Number(id));
    //渲染模板 
    res.render('detail', {hero});
});

//监听端口
app.listen(80, () => {
    console.log('waiting for connections on port 80');
});